<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 调试代码 开发的时候常写 ，上线前应该删除
        // 瞬间执行完的代码  
        // event loop 的一个单元
        // console.log('start');
        // setTimeout(()=>{
        //     console.log('timeout');
        // },0)
        // // resolve 静态方法  
        // Promise.resolve().then(()=>{
        //     console.log('resolve');
        // })
        
        // Promise.resolve().then(()=>{
        //     console.log('resolve22');
        // })

        
        // const p =new Promise((resolve, reject)=>{
        //     console.log('p promise instance');
        //     setTimeout(()=>{
        //         console.log('------');
        //         resolve('dddd');
        //     },1000)
        // })

        // console.log('end');

        // Promise.resolve().then(()=>{
        //     console.log('promise1');
        //     setTimeout(()=>{
        //         console.log('settimeout2')
        //     },0)
        // })
        // setTimeout(()=>{
        //     console.log('settimeout1')
        //     Promise.resolve().then(()=>{
        //         console.log('Promise2')
        //     })
        // },0)
        // console.log('start');

        function fn(){
            console.log(1);
            
            setTimeout(() => {
                console.log(2);
                Promise.resolve().then(() => {
                    console.log(3);
                });
            },0);
            
            new Promise((resolve, reject) => {
                console.log(4);
                resolve(5);
            }).then(data => {
                console.log(data);
            });
            
            setTimeout(() => {
                console.log(6);
            },0);
            
            console.log(7);
        }
        fn(); //
    </script>
</body>
</html>